1. Field of the Invention
The present invention relates to the field of software emulation. More particularly, the present invention relates to a system and method for simulating characteristics of an embedded system in order to facilitate software development.
2. Description of Art Related to the Invention
Over the last few years, there has been an increasing demand for entertainment systems working in conjunction with various types of content providers such as broadcasters and cable companies. One type of entertainment system is a digital satellite system (DSS) featuring an antenna and an integrated receiver decoder (IRD) to receive a digital bit stream. IRD is responsible for decoding the bit stream and processing the decoded bit stream to produce an output signal of an appropriate format. The output signal is sent to one or more peripherals such as a television for displaying an image. The IRD includes hardware and software responsive to control codes produced by depressing buttons on its front panel or on its remote control. The control codes are interpreted by the IRD as operational commands such as display a selected screen, tune to a selected channel and the like.
Currently, before testing software, software developers wait until the hardware manufacturer either has completed a working prototype or has completed a prototype having a text-based emulator. While a text-based emulator would allow low-level code to be tested with hardware, it does not enable system-wide testing and/or the testing of higher-level applications such as code relating to or supporting communications with a graphics user interface (GUI). Consequently, software testing is delayed which may adversely affect the release time of entertainment systems.
Also, text-based emulators do not provide an efficient testing tool because they require code compilation and repetitive loading of the compiled code during testing. Loading and repeated reloading of compiled code is required because the presence of an error condition causes the text-based emulator to crash which, in turn, requires the code to be reloaded. As a result, test time is used in an inefficient manner.
In light of this increasing demand for entertainment systems, it would be desirable to develop and test software for the IRD through system wide emulation while its hardware is concurrently being developed.